﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using TheOutLetLibrary.Dominio;

namespace TheOutLetLibrary.Infraestrutura {

    public class AccessItemNotaFiscalDAO: IItemNotaFiscalDAO {

        private OleDbTransaction transacao;
        public OleDbTransaction Transacao {
            set { transacao = value; }
        }

        public void Inclui(ItemNotaFiscal itemNotaFiscal) {         

            OleDbCommand comando = new OleDbCommand();
            comando.Transaction = transacao;
            comando.Connection = transacao.Connection;
            comando.CommandText =
                "INSERT INTO rl_produto_nota_fiscal (" +
                " XID_REMESSA, XID_NOTA_FISCAL, XID_PRODUTO, QT_ENVIADA, " +
                " VL_UNITARIO, VL_TOTAL, PRECO_NF_CONSIGNADO) " +
                " VALUES (" +
                " @XID_REMESSA, @XID_NOTA_FISCAL, @XID_PRODUTO, @QT_ENVIADA, " +
                " @VL_UNITARIO, @VL_TOTAL, @PRECO_NF_CONSIGNADO)";
            comando.Parameters.Add("@XID_REMESSA", OleDbType.Integer).Value = itemNotaFiscal.xID_REMESSA;
            comando.Parameters.Add("@ID_NOTA_FISCAL", OleDbType.Integer).Value = itemNotaFiscal.XID_NOTA_FISCAL;
            comando.Parameters.Add("@XID_PRODUTO", OleDbType.Integer).Value = itemNotaFiscal.XID_PRODUTO;
            comando.Parameters.Add("@QT_ENVIADA", OleDbType.Integer).Value = itemNotaFiscal.QT_ENVIADA;
            comando.Parameters.Add("@VL_UNITARIO", OleDbType.Currency).Value = itemNotaFiscal.VL_UNITARIO;
            comando.Parameters.Add("@VL_TOTAL", OleDbType.Currency).Value = itemNotaFiscal.VL_TOTAL;
            comando.Parameters.Add("@PRECO_NF_CONSIGNADO", OleDbType.Currency).Value = itemNotaFiscal.PRECO_NF_CONSIGNADO;
            comando.ExecuteNonQuery();
        }
    }
}
